/**
 * 
 */
package co.com.sed.model.beans;


import java.util.ArrayList;
import java.util.Date;

/**
 * @author Mejia
 *
 */
public class EvaluacionEVC {
	private int idEvaluacionEVC;
	private Date fechaAsign;
	private Boolean estado;
	private Float resultadoEVC;
	private Funcionario evaluado;
	private int periodoEvaluado;
	
	private ArrayList<ResultadoGen> resultadosGen = null;
	private ArrayList<EvalEVCIndi> evalEVCIndis = null;
	private ArrayList<ResultadoEVCSubcomp> resultadosEVCSubcomp = null;

	/**
	 * 
	 */
	public EvaluacionEVC() {
		super();
		this.resultadosGen = new ArrayList<ResultadoGen>();
		this.evalEVCIndis = new ArrayList<EvalEVCIndi>();
		this.resultadosEVCSubcomp = new ArrayList<ResultadoEVCSubcomp>();
	}
	
	

	/**
	 * @param idEvaluacionEVC
	 */
	public EvaluacionEVC(int idEvaluacionEVC) {
		super();
		this.idEvaluacionEVC = idEvaluacionEVC;
	}



	/**
	 * @param idEvaluacionEVC
	 * @param fechaAsign
	 * @param estado
	 * @param resultadoEVC
	 * @param aplicaEVGen
	 * @param evaluado
	 * @param periodoEvaluado
	 */
	public EvaluacionEVC(int idEvaluacionEVC, Date fechaAsign, Boolean estado,
			Float resultadoEVC, int evaluado,
			int periodoEvaluado) {
		super();
		this.idEvaluacionEVC = idEvaluacionEVC;
		this.fechaAsign = fechaAsign;
		this.estado = estado;
		this.resultadoEVC = resultadoEVC;
		this.evaluado =new Funcionario(evaluado);
		this.periodoEvaluado = periodoEvaluado;
	}
	
	/**
	 * @param fechaAsign
	 * @param estado
	 * @param resultadoEVC
	 * @param aplicaEVGen
	 * @param evaluado
	 * @param periodoEvaluado
	 */
	public EvaluacionEVC(Date fechaAsign, Boolean estado,
			Float resultadoEVC, int evaluado,
			int periodoEvaluado) {
		super();
		
		this.fechaAsign = fechaAsign;
		this.estado = estado;
		this.resultadoEVC = resultadoEVC;
		this.evaluado =new Funcionario(evaluado);
		this.periodoEvaluado = periodoEvaluado;
	}

		
	/**
	 * @param idEvaluacionEVC
	 * @param fechaAsign
	 * @param estado
	 * @param resultadoEVC
	 * @param aplicaEVGen
	 * @param evaluado
	 * @param periodoEvaluado
	 * @param resultadosGen
	 * @param evalEVCIndis
	 * @param resultadsoEVCSubcomp
	 */
	public EvaluacionEVC(int idEvaluacionEVC, Date fechaAsign, Boolean estado,
			Float resultadoEVC, int evaluado,
			int periodoEvaluado, ArrayList<ResultadoGen> resultadosGen,
			ArrayList<EvalEVCIndi> evalEVCIndis,
			ArrayList<ResultadoEVCSubcomp> resultadsoEVCSubcomp) {
		super();
		this.idEvaluacionEVC = idEvaluacionEVC;
		this.fechaAsign = fechaAsign;
		this.estado = estado;
		this.resultadoEVC = resultadoEVC;
		this.evaluado =new Funcionario(evaluado);
		this.periodoEvaluado = periodoEvaluado;
		
		this.resultadosGen = new ArrayList<ResultadoGen>();
		this.evalEVCIndis = new ArrayList<EvalEVCIndi>();
		this.resultadosEVCSubcomp = new ArrayList<ResultadoEVCSubcomp>();
	}



	/**
	 * @return the idEvaluacionEVC
	 */
	public int getIdEvaluacionEVC() {
		return idEvaluacionEVC;
	}

	/**
	 * @param idEvaluacionEVC the idEvaluacionEVC to set
	 */
	public void setIdEvaluacionEVC(int idEvaluacionEVC) {
		this.idEvaluacionEVC = idEvaluacionEVC;
	}

	/**
	 * @return the fechaAsign
	 */
	public Date getFechaAsign() {
		return fechaAsign;
	}

	/**
	 * @param fechaAsign the fechaAsign to set
	 */
	public void setFechaAsign(Date fechaAsign) {
		this.fechaAsign = fechaAsign;
	}

	/**
	 * @return the estado
	 */
	public Boolean getEstado() {
		return estado;
	}

	/**
	 * @param estado the estado to set
	 */
	public void setEstado(Boolean estado) {
		this.estado = estado;
	}

	/**
	 * @return the resultadoEVC
	 */
	public Float getResultadoEVC() {
		return resultadoEVC;
	}

	/**
	 * @param resultadoEVC the resultadoEVC to set
	 */
	public void setResultadoEVC(Float resultadoEVC) {
		this.resultadoEVC = resultadoEVC;
	}

	/**
	 * @return the evaluado
	 */
	public Funcionario getEvaluado() {
		return evaluado;
	}

	/**
	 * @param evaluado the evaluado to set
	 */
	public void setEvaluado(Funcionario evaluado) {
		this.evaluado = evaluado;
	}

	/**
	 * @return the periodoEvaluado
	 */
	public int getPeriodoEvaluado() {
		return periodoEvaluado;
	}

	/**
	 * @param periodoEvaluado the periodoEvaluado to set
	 */
	public void setPeriodoEvaluado(int periodoEvaluado) {
		this.periodoEvaluado = periodoEvaluado;
	}



	/**
	 * @return the resultadosGen
	 */
	public ArrayList<ResultadoGen> getResultadosGen() {
		return resultadosGen;
	}



	/**
	 * @param resultadosGen the resultadosGen to set
	 */
	public void setResultadosGen(ArrayList<ResultadoGen> resultadosGen) {
		this.resultadosGen = resultadosGen;
		
		for(ResultadoGen resultadoGen : this.resultadosGen){
			resultadoGen.setResultadoEVC(this);
		}
	}



	/**
	 * @return the evalEVCIndis
	 */
	public ArrayList<EvalEVCIndi> getEvalEVCIndis() {
		return evalEVCIndis;
	}



	/**
	 * @param evalEVCIndis the evalEVCIndis to set
	 */
	public void setEvalEVCIndis(ArrayList<EvalEVCIndi> evalEVCIndis) {
		this.evalEVCIndis = evalEVCIndis;
		
		for(EvalEVCIndi evalEVCIndi : this.evalEVCIndis){
			evalEVCIndi.setEvaluacionEVC(this);
		}
	}



	/**
	 * @return the resultadsoEVCSubcomp
	 */
	public ArrayList<ResultadoEVCSubcomp> getResultadsoEVCSubcomp() {
		return resultadosEVCSubcomp;
	}



	/**
	 * @param resultadsoEVCSubcomp the resultadsoEVCSubcomp to set
	 */
	public void setResultadsoEVCSubcomp(ArrayList<ResultadoEVCSubcomp> resultadosEVCSubcomp) {
		this.resultadosEVCSubcomp = resultadosEVCSubcomp;
		
		for(ResultadoEVCSubcomp resultadoEVCSubcomp : this.resultadosEVCSubcomp){
			resultadoEVCSubcomp.setEvaluacionEVC(this);
		}
	}

	
	
}
